专利摘要:
Visual code and procedure to encode and decode a two-dimensional image. The present description refers to a 2D visual code based on the superposition of pure plane waves framed in black, designed to be read at long distances, with different types of degradation (noise, blur or movement) and in adverse lighting conditions. For this, the information-bearing elements are waves that are distributed throughout the image. The combination of waves with different directions, frequencies, amplitudes and phases allows generating a large number of configurations that can be decoded in a robust and efficient way. (Machine-translation by Google Translate, not legally binding)
公开号:ES2817926A1
申请号:ES201930861
申请日:2019-10-04
公开日:2021-04-08
发明作者:De Teruel Alcolea Pedro Enrique Lopez;Garcia Alberto Ruiz;Clemente Felix Jesús Garcia
申请人:Universidad de Murcia;
IPC主号:
专利说明:

[0002] Visual code and procedure to encode and decode a two-dimensional image
[0004] The present description refers to a visual code based on frequency coding, which comprises a synthesized image with a characteristic frequency spectrum, surrounded by a frame of preferably dark color.
[0006] The description also refers to a method for encoding a visual code such as that described, and to a method for decoding this visual code. It also refers to a computer program product for executing the encoding procedure, as well as a computer program product for executing the decoding procedure.
[0008] The invention falls within the technologies for recognition and data support, more specifically recording media for use with machines.
[0010] STATE OF THE PRIOR ART
[0012] A visual code is a representation, for example, in print or in digital format, of certain information that can be automatically read by some type of image acquisition or capture device connected to a computer or electronic system (the acquisition device or image capture can be the computer or electronic system itself). As a carrier of a certain amount of information, its capacity is measured in the number of different combinations that can be stored and subsequently decoded. Therefore, its capacity can be simply quantized with a specific number N of stored bits.
[0014] In general, these codes are used in a wide variety of applications both in industry and in commerce, that is, where the simple identification of any element on which a certain type of follow-up is to be carried out is required. With the wide range of potential applications that offers the possibility of having quick access to information linked to each code, which cover from the areas of commerce (stock control, quick calculation of the amount of a purchase, etc.) to healthcare ( immediate access to medical records, control of medical material, etc.), passing through security (access control, personnel identification, etc.), entertainment (video games, augmented reality), or industrial applications (control of manufacturing, traceability, etc.), it can be said that visual codes are already ubiquitous in almost any area of the economy and society.
[0016] Historically, the first visual codes were one-dimensional (the popular barcodes, originally introduced in [US Patent 2,612,994 ( 1952) "Classifying apparatus and method"]), and were designed to be read by devices based on a specific optical technology that, At the time, it allowed the manufacture of simpler and cheaper sensors than cameras. These codes were quickly adopted by postal services in their early days, although they later spread rapidly in the field of product labeling and identification, both in commercial and commercial environments. industrial, generalizing the range of available sensors, which at present are usually already based on laser or conventional cameras.
[0018] From the 90's, and precisely from the increasing availability of digital image acquisition devices that can be connected to, for example, a computer system, two-dimensional codes began to develop. A two-dimensional code, also called a matrix code, also represents the information in an easily detectable and visually decodable form automatically, but it has the advantage of being able to store more information in the same area. The best known visual code of this type is undoubtedly the QR code [US Patent 5,726,435 ( 1998) "Optically readable twodimensional code and method and apparatus using the same"].
[0020] The main characteristic of these QR codes is that they comprise two-dimensional binary matrices, in which each cell can take on a black or white color, and which allow different sizes (in number of cells) in order to offer a wide range of different capacities, being able to , in the higher resolution, even get to encode up to complete URLs, with several hundred bytes.
[0022] Starting from the described QR codes, other similar two-dimensional codes have been proposed. Some of the most popular examples are AztecCodes, AR Codes, DataMatrix, EZ codes, used in commercial, industrial, transportation, video games or augmented reality, among many others. All these designs are strictly binary, the respective codes being based on the exclusive use of black and white, usually in the form of a matrix divided into square cells, without lacking alternative designs, such as the circular one on which ShotCode is based. Of all of them can Very complete information can be obtained from, for example, [https://en.wikipedia.org/wiki/Barcode#Matrix_ ( 2D) _barcodes)].
[0024] An additional idea, exploited by later proposals, is the extension of the original idea of binary matrix two-dimensional codes to include colors other than pure black and white (for example, the primary colors red, green, and blue, or their complementary cyan, magenta and yellow) to increase the capacity of the codes, keeping the number of cells in them limited. However, this type of color cell matrix codes are not robust in adverse lighting conditions.
[0026] On the other hand, in traditional matrix codes the storage capacity for a certain distance depends on the maximum angular resolution of the camera. The robustness of the decoding process is critically dependent on the integrity of the cells, which in low-quality images is often fragile due to contamination from the gray levels of neighboring cells. Due to this, the vast majority of known visual codes must reserve a significant number of bits to introduce some form of redundancy in order to detect (and in some cases even self-correct) possible errors in the decoding process (parity bits, checksums, CRCs, polynomial codes, Reed Solomon, etc.).
[0028] Consequently, there is a need for a visual code that at least partially solves the problems mentioned above.
[0030] EXPLANATION OF THE INVENTION
[0032] In one aspect, a visual code comprises a two-dimensional image, which is the result of applying a predetermined mathematical operation (for example, an addition) on a number c of two-dimensional waves determined by at least two parameters, namely, a first frequency spatial u in a first direction and a second spatial frequency v in a second direction different from the first.
[0034] This construction of the visual code provides the necessary redundancy for the detection and correction of errors, since this is based on the global coherence of the component waves, without the random modification of a relatively high number of pixels affecting the decoding process.
[0035] In one example the two-dimensional waves can be pure in-plane waves, like two-dimensional sinusoids. The addition operation (also called superposition) is a point-to-point addition in the plane.
[0037] In another aspect, a method for encoding a two-dimensional image comprises the steps of:
[0038] predefine a collection of two-dimensional waves as potential components of the two-dimensional image, each of these two-dimensional waves being determined by at least two parameters, namely a first spatial frequency u in a first direction and a second spatial frequency v in a second direction different from the first; predetermining a natural number c of said two-dimensional waves to compose the two-dimensional image;
[0039] selecting a number c of two-dimensional waves from among all those in the collection; composing the two - dimensional image by applying a predetermined mathematical operation on the selected two - dimensional waves c;
[0040] forming a visual code by framing the two-dimensional image with a band of a predetermined color whose outline is a predetermined closed flat curve; Y
[0041] reproduce the visual code on a label.
[0043] In another aspect, a method for decoding a visual code reproduced on an identification tag comprises the steps of:
[0044] capturing a flat image of the label by an optical sensor;
[0045] calculate the Discrete Fourier Transform (DFT) of this flat image;
[0046] extracting from this DFT c dominant frequency components, both for a first spatial frequency u ' and for a second spatial frequency v'; Y
[0047] seek an identification between these c dominant components of first spatial frequency u ' and second spatial frequency v' with c two-dimensional waves from a predetermined collection of two-dimensional waves, each of which is determined by at least two parameters, namely a first spatial frequency u in a first direction and a second spatial frequency v in a second direction different from the first.
[0049] The DFT can also provide the angular phases of the dominant frequency components. These phases can be associated with the closest values within a set of possible phases.
[0050] Other objects, advantages, and features of embodiments of the invention will become apparent to the person skilled in the art from the description and claims, or can be learned by practice of the invention.
[0052] BRIEF DESCRIPTION OF THE DRAWINGS
[0054] Particular embodiments of the present invention will now be described by way of non-limiting example, with reference to the attached drawings, in which:
[0056] Figure 1 shows several examples of visual codes according to the invention.
[0058] Figure 2 shows the component waves of an example visual code.
[0060] Figure 3 shows the combination (sum) of the waves in Figure 2.
[0062] Figure 4 shows a contrast magnification of Figure 2: 0.75 power, tritone and black / white.
[0064] Figure 5 shows a 2D frequency enumeration map.
[0066] Figure 6 shows another example of visual code.
[0068] Figure 7 shows a new visual code example.
[0070] Figure 8 shows a flow chart of a procedure for locating and rectifying possible candidate codes located at any position in the image.
[0072] Figure 9 shows a flow chart of a procedure for decoding a visual code.
[0074] Figure 10 schematically shows an application scenario, in which one or more cameras, connected to an intranet, send the images captured in a certain area of a plant to a central computer system (for example, a server), where they are processed. Circulating through the plant there are, for example, mobile trucks carrying some type of product on which a label with one of the visual codes has been attached.
[0076] DETAILED EXHIBITION OF IMPLEMENTATION MODES
[0078] One of the objectives of the invention is the design of a visual code, together with the corresponding automated encoding and decoding procedures for the same from images taken with a suitable capture device, for example a camera. The visual code is surrounded by a black outline to facilitate its location and consists of a synthesized image with a characteristic frequency spectrum, explicitly designed to be robustly and efficiently decoded under problematic capture conditions, such as degradation and loss of resolution. Increases that occur when the code to be identified is moved away from the optical sensor of a camera and / or the lighting conditions vary significantly.
[0080] These codes are designed to be printed on a label, paper, adhesive, plastic, fabric, or any other type of support that can be attached by any means to any type of potentially mobile asset (products, materials, people, etc.) on the one that interests to carry out a follow-up or traceability. A fundamental characteristic of them, then, is that they are extremely robust to large lighting variations in the decoding scenario: typically, it is mainly the cameras that are statically located at key points of the application scenario, although there is none No limitation in that these can also be detected by mobile cameras, such as cameras mounted on motorized trucks, but the codes are unfailingly located on mobile assets, and can therefore suffer large variations in the illumination they receive. This greatly affects how they are sensed by the corresponding image capture devices. The main design considerations of the proposed visual codes are therefore fundamentally based on the idea of making the localization and subsequent decoding processes as robust as possible to the image degradations usually produced in these conditions of mobility and constant lighting changes.
[0082] On the other hand, the visual codes proposed in this invention have, by construction, a high degree of redundancy that naturally provides great robustness in the decoding process. The code makes a trade-off between storage capacity of information and the robustness in the detection to long distances. This compromise is obtained by choosing the optimal repertoire of frequencies and phases that can intervene in the codes depending on the effective resolution and dynamic range of a camera.
[0084] These codes are specially designed for industrial use; In particular, its main scope of application is the identification of products, boxes or pallets in the traceability control, although other alternative applications are not ruled out, such as, for example, the location of people, vehicles or any other type of mobile assets. Using this technology, it is feasible to read codes from several meters away, even for relatively small label print sizes (e.g. 5-10 cm per side), requiring only a direct line of sight between the code and the image capture device (usually a camera connected to a computing device, using any wireless or wired communication means). In addition, it can achieve the simultaneous and computationally efficient reading of several codes in each captured image, thus allowing to cover a wide visual and workspace with a single capture. It is, therefore, a more economical and flexible solution than other identification systems, such as wireless solutions (for example, RFID), which, in addition to being more expensive, may have fewer guarantees in poorly controlled environments, where there may be interference caused by elements. like water or metal.
[0086] The main novelties provided by a visual code of the invention are:
[0087] a) it is based on design principles radically different from those of the rest of previous visual codes, in particular, it does not use a two-dimensional matrix of cells;
[0088] b) the redundancy necessary for the detection and correction of errors is based on the global coherence of the component waves, which are completely extended in the image, without the random modification of a relatively high number of pixels affecting the decoding process; Y
[0089] c) the storage capacity can be adjusted by means of simple configuration parameters, without the need to change the code design.
[0091] Configuration parameters include the maximum allowed frequency, related to the desired detection distance and the available effective angular resolution; and the set of possible phases for said frequencies, related to the precision of the previous process of locating the code in the input image.
[0092] Figure 1 shows several examples of visual codes. The visual aspect is novel and aesthetically attractive, with gently curving shapes (sometimes resembling the spots on the skin of zebras).
[0094] The visual codes of the invention are formed by the superposition (point-to-point summation) of pure waves in a square region of the plane. Figure 2 shows this type of waves, while Figure 3 shows the result of the superposition.
[0096] The result of this sum is subjected to a final stage of normalization that can simply consist of a range rescaling to produce a "continuous" code like the one in Figure 3, or a non-linear modification of the contrast that, in In practice, it can be reduced to a simple thresholding. In the latter case, a black and white code is obtained, as shown in Figure 1, without intermediate gray levels. Alternatively, a 3-level thresholding can be applied: white, gray and black ("tritone" marker). The different types of contrast amplification are shown in Figure 4.
[0098] This process reduces printing costs and in some working conditions can improve code discrimination. The decoding procedure that will be described later is completely independent of the chosen contrast amplification.
[0100] Going into detail, each of the waves that can be used to compose a certain code is specified by a tuple of three numbers (u, v, p), so that, for any position [x, y] of the plane:
[0102] code [x, y] = £ £ = 1 wave ( uk, vk, pk) [x, y] (equation 1)
[0104] where
[0106] wave ( u, v, p) [x, y ] = cos ( 2n ( ux vy) p)
[0108] The numbers u and v are integers that represent respectively the vertical and horizontal frequencies of the wave in cycles per unit length (corresponding to the representation base of the Discrete Fourier Transform (DFT) 2D) and the real number p is the phase that is applied to the wave. In our case, the unit of length is marked by the side of the box where the code is inscribed.
[0109] A real wave of parameters (u, v, p) is indistinguishable from that defined by (-u, -v, -p), with opposite frequencies and phase, so the waves are specified by convention with tupia with u> 0 .
[0111] Each frequency tuple (u, v) and its corresponding wave is named by a positive integer as shown in Figure 5, in such a way that these integers are ordered for all possible tuples from lowest to highest scalar frequency w = V u 2 v 2 and, in the event of a tie, from lowest to highest horizontal frequency.
[0113] The set or catalog of codes used in a specific application is defined by a certain "coding scheme", which includes: a repertoire of frequencies, a repertoire of phases and a number of components.
[0115] In relation to the repertoire of frequencies, this is given by the minimum and maximum frequencies allowed to compose a code. For example, using Figure 5, an encoding scheme might use 29 waves from number 5 to 33.
[0117] The repertoire of phases is the set of alternative possible phases that we can choose for each wave. For example, a repertoire with 4 equidistant phases is composed of:
[0122] The coding scheme is completely determined by specifying the total number of c-components that appear mixed in the code. In applications that require great robustness against adverse conditions, it is reasonable to establish between 3 and 6 components.
[0124] The combinatorics can be increased by choosing different amplitudes in the wave combination. However, experimentally, a fairly irregular degree of attenuation of the different frequencies is observed and, therefore, the use of intermediate amplitudes complicates the discrimination of spurious harmonics. Consequently, for greater robustness it is recommended to use the same amplitude in all components of the code.
[0126] To represent an encoding scheme in a simple way, the following syntax is defined: c-RF-RP, where c is the number of components, RF is the repertoire of frequencies and RP the repertoire of phases. As an example, a 4-component encoding scheme with frequencies from 5 to 33 and 4 phases (AD), is completely specified by the expression: 4-5: 33-ABCD.
[0128] To represent a visual code, each component is defined with the following syntax: l p; where n ¡> indicates the frequency number in the frequency repertoire and lp indicates the letter associated with the phase. As an example, the code in Figures 2, 3 and 4, which belongs to the 4-5: 33-ABCD encoding scheme, is fully specified by the expression: 9A 18A 29C 33B. The values 9, 18, 29 and 33 refer to the frequencies defined in Figure 5 and the values A, B and C to the phases indicated above.
[0130] Visual codes need effective enumeration based on the chosen coding scheme. Therefore, each possible code in a given scheme is assigned an order number between 1 and the total number of codes available. There are several ways to do the enumeration.
[0132] One possible enumeration is by frequency. In this enumeration the phases advance faster than the frequencies and these are ordered based on the highest of all. In this way, the numerical code is related to the maximum reading distance: the lower codes contain only low frequencies and can be read at greater distances. Higher codes contain higher frequencies and will be shorter in range.
[0134] The enumeration of possibilities using the 4-5: 33-ABCD encoding scheme (which works with combinations of 4 frequencies out of 29 possible, with 4 possible phases for
[0135] each, for a total of ^ 29 J • 44 = 6,080,256 different combinations) and the enumeration
[0136] by frequency you can follow the following scheme:
[0138] Order number Code Order number Code
[0139] 1 5A 6A 7A 8A
[0140] 2 5A 6A 7A 8B 256 (= 44) 5D 6D 7D 8D
[0141] 3 5A 6A 7A 8C 257 5A 6A 7A 9A
[0142] 4 5A 6A 7A 8D
[0143] 5 5A 6A 7B 8A 6080 255 30D 31D 32D 33C
[0144] 6 5A 6A 7B 8B 6080 256 30D 31D 32D 33D Another enumeration alternative is by phase. In this mode of enumeration, the frequencies advance faster than the phases, so that codes that are close in succession have a different frequency structure. Therefore, if the phase detection is wrong, the estimated code has a very different order number. This feature is useful for detecting errors in work scenarios in which in each session the products are labeled with consecutive numbers.
[0146] The sequence of enumeration using again the same old 4-5: 33-ABCD coding scheme (with the same 6,080,256 associated possibilities), but using in this case the enumeration by phase is as follows:
[0148] Order number Code Order number Code
[0149] 1 5A 6A 7A 8A
[0150] 2 5A 6A 7A 9A 23751 (= (249> 30A 31A 32A 33A
[0152] 3 5A 6A 7A 10A 23 572 5A 6A 7A 8B
[0153] 4 5A 6A 7A 11A
[0154] 5 5A 6A 7A 12A 6080 255 29D 31D 32D 33D
[0155] 6 5A 6A 7A 13A 6080 256 30D 31D 32D 33D
[0157] Contrast amplification causes the component waves to cease to be pure sinusoids and the frequency spectrum becomes contaminated with unwanted harmonics. This phenomenon is especially appreciated in saturated black and white codes.
[0159] In the one-dimensional case, the result of this type of saturation is a square wave, whose frequency spectrum includes, in addition to the fundamental w, successive 3w, 5w, etc. with progressively decreasing amplitudes 1/3, 1/5, etc. In two dimensions the situation is more complicated, as complex interactions occur between the different spatial directions. As a consequence, there are configurations such as, for example, 9A 10A 11C 18C that is perfectly valid in continuous mode (or tritone) but that in binary mode presents harmonics that completely mask the natural frequencies of the code.
[0161] To avoid these situations, a list of exceptions for binary mode is pre-computed: given an encoding scheme, all possible codes are analyzed in blank format. and black, and all those frequency settings that have potentially problematic harmonics are stored. Depending on the capacity of the encoding scheme, this process takes from a few minutes to several hours.
[0163] In many applications the visual code can appear in any orientation with respect to the vertical of the camera, being necessary to determine the correct orientation. In principle this can be done by including some additional element to the square frame, which can be aesthetically unattractive, or by using invariant codes at 90 degree rotations, which greatly reduces the storage capacity.
[0165] An additional advantage of these codes is the automatic detection of orientation thanks to the mathematical properties of the two-dimensional waves used as information support. A wave (u, v, p) is indistinguishable from (u, v, -p) on a marker rotated 180 °, and in 90 ° rotations it is indistinguishable from waves that exchange u with v and can change the sign of v and / o D.E.P. To undo this ambiguity, the following procedure is proposed.
[0167] The procedure consists of restricting the wave of lower frequency to a certain quadrant (whose numbers appear in light color in Figure 5, approximately half of the total) and assigning to said lower frequency a positive phase (codes A or B, in the scheme 4-phase). This reduces the number of configurations to a quarter, as you would expect from the four possible orientations of the code.
[0169] As can be seen from the decoding procedure, the composition and orientation of the code is determined in conjunction with a single frequency analysis using the (FFT) [JW COOLEY & JW TUKEY, "An Algorithm for the Machine Calculation of Complex Fourier Series," Math . Comput., Vol. 19, no. 2, pp. 297-301, Apr. 1965].
[0171] From everything described, a visual code encoding procedure, defined a c-RF-RP encoding scheme and an enumeration of the codes, given an integer n (desired number), a size of the resulting image M and a contrast amplification to between zero and one, can comprise the following steps:
[0173] 1) Using the defined enumeration, obtain the frequencies and phases of each of the components for the number n.
[0174] 2) Construct the combination of waves with Equation 1 considering a plane MxM.
[0176] 3) To amplify the contrast, the result of each point of the MxM plane is raised to the power a (according to the formula s ig n ( r )
[0178] 4) To build the code in black and white, the previous step reduces to converting negative points to 0 and positive points to 255. To create the tritone codes, the double threshold [0.99] ^ 0, [100,155] ^ 128, [156,255] ^ 255 is applied.
[0180] 5) Finally the black frame is added and the image is printed.
[0182] As examples, the code 5A 6D 7A 13D in the aforementioned coding scheme 4-5: 33-ABCD and the code 8B 9A 11D 20B are shown in Figures 6 and 7, respectively, with three contrast amplification variants: a = 0.75, tritone, and black and white.
[0184] For step 3), equivalently, a complex matrix of size MxM can be used, initialized to zero, in which the positions u, v corresponding to the frequencies Fk according to Figure 5 are filled with the value e lPk, and the real part of the Inverse Fast Fourier Transform (IFFT) of this matrix is taken.
[0186] To illustrate the storage capacity of a visual code of the invention, the following table shows the number of different codes in various example schemes that include automatic orientation detection. In the black and white scheme the capacity is diminished by the list of exceptions. The others indicate the maximum capacity without this type of reduction.
[0188] Coding scheme Contrast Capacity
[0189] 4 -5: 33 - ABCD black and white 1,293,184
[0190] 5 -5: 43 -A B C D continuous / tritone 151,138,816
[0191] 6 -5: 33 -A B C D continuous / tritone 509,267,968
[0192] 6 -5: 33 -ABCD continuous / tritone 3,448,807,424
[0193] Note, for the example in the first row of the table, that the original number of
[0194] combinations ^ 29 J • 44 = 6,080,256 has been reduced here to just slightly more than one
[0195] million, for the two reasons explained above: firstly because of the division by 4 caused by orientation invariance, and secondly because of the number of exceptional combinations eliminated for having problematic harmonics (which in this case turn out to be 226,880). For this reason, the total number of combinations for that case is 6,080,256 / 4 - 226,880 = 1,293,184).
[0197] Once a label with a specific code has been printed on paper, adhesive, plastic, fabric, or another type of support that can be attached by any means to any type of asset (products, materials, people, etc.) on which you want to make monitoring or traceability, it is necessary to describe the procedure to correctly locate and decode the code from an image in which it appears visible. A possible application scenario would be the one shown in Figure 10, which will be described in detail later, where a series of one or more cameras 101, connected to an intranet 105 send the images captured in a certain area of a plant to a central system 106, where they will be processed. Circulating through the plant there could be, for example, mobile trucks 102 carrying some type of product 103 on which a label with one of the codes 104 has been adhered. It is possible that several codes appear in the same image, as well as that, simultaneously , several cameras capture the same code or set of codes at any given moment. Image processing software installed on the server must process each input image to detect each of the possible codes visible in each processed image. The stages involved in this processing are described below, the global scheme of which is defined in two phases: location of codes in the image and the decoding process.
[0199] Figure 8 schematically shows the procedure for locating codes in the image. The procedure begins with the exact location in the scene of each candidate code. To do this, we first proceed with a dynamic image thresholding algorithm, which takes into account the possible different lighting conditions in different areas of the input image. An adaptive threshold is used, which calculates the value of a different threshold for each position of the image, depending on the distribution of gray values of a small image region around each pixel, as described, for example, in ["Local Adaptive Thresholding." Li SZ, Jain A. ( eds) Encyclopedia of Biometrics. Springer " ( 2009)]. Next, we proceed with an algorithm for extraction of closed contours on the resulting binarized image, which are subsequently reduced by means of a polygonal approximation (for example, following the procedure described in [“ Algorithms for the reduction of the number of points required to represent a digitized line or its caricature ", David Douglas & Thomas Peucker, The Canadian Cartographer 10 ( 2), 112-122, ( 1973)]). Only those contours that pass a test of being projectively equivalent to a square go to the next stage of processing. It should also be said here that the correction of the possible radial distortion introduced by the camera is not considered in principle necessary, since the codes are explicitly designed to be small and to be viewed at a long distance. However, for close viewing (for example, with a smartphone or smartphone placed close to the code), a pre-correction of said distortion may have to be carried out in some cases, especially for wide-angle lenses.
[0201] In a second processing stage, and after an optional sub-pixel alignment of each extracted contour, its four corners are used to perform a homographic rectification of the original image to a square canonical frame of sufficient size, for example (without loss of generality ) of 100x100 pixels.
[0203] Next, the decoding procedure of the visual code from a square image resulting from the previous detection and rectification procedure is described.
[0205] Defined a c-RF-RP coding scheme and an enumeration of the codes:
[0207] 1) The Fast Fourier Transform (FFT) of the square area inside the black frame is calculated.
[0209] 2) The frequencies u <10 and | v | <10 are extracted from the FFT and those with a value less than the minimum frequency of the coding scheme are discarded.
[0211] 3) They are ordered from highest to lowest modulus and normalized by dividing by the maximum modulus. 4
[0213] 4) The phases of the c dominant frequency components are calculated, and for each of them, its phase closest to those available in RP.
[0214] 5) If the defined enumeration applies the restriction indicated above, the positions and values of the c dominant components corresponding to the other three possible orientations of the code are calculated. This can be done by successively rotating the image 90 ° and repeating steps 1 to 4 above each time.
[0216] Only one of the four alternatives is valid considering the frequency and phase restriction specified above.
[0218] The procedure ends by delivering the corresponding number that is obtained from the detected components, which belong to the encoding scheme, according to the defined enumeration.
[0220] It is advisable to extend the previous decoding procedure to achieve protection against the eventuality that, in severely deteriorated images, alignment errors or image noise produce a false component that may even exceed a true component wave in amplitude. Figure 9 schematically shows this expanded procedure. The fundamental modification with respect to the base procedure is that, after extracting the frequency components and ordering them by their magnitude according to steps 1 to 4 above, it is possible to consider different subsets of c components among the c + k of greater magnitude (where k any small positive integer, for example equal to 1 or 2). Naturally, this only has to be done in the case that the frequency spectrum obtained is doubtful, for example, because there is no clear difference in magnitude between component c and c + 1 (since the magnitudes of the components of the FFT obtained starting with the component c + 1, this included, they should ideally be canceled).
[0222] As shown in the procedure in Figure 9, three well-differentiated cases are then considered:
[0224] a) That there are c very clear non-null components, with an appreciable jump with respect to the c + 1 component, and with phases very close to the canonical A, B, C and / or D. In this case there is a code well detected directly.
[0225] b) That between component c and c + 1 this jump is not so clear. In this case, different combinations can be generated using different subsets of c elements from among the c + k mentioned above, and for each of them generate a synthetic image with which to compare the duly rectified original pixel by pixel. If in these comparisons there is one that stands out among the others for being particularly close to the input image, the corresponding code is also given as correctly detected. Something similar can also be done if, for example, one or more components have a phase distance with respect to the basic ones A, B, C or D greater than a certain threshold, the number of alternatives being progressively increased in this case as well.
[0227] c) That the spectrum obtained is clearly different from one with only c frequency peaks, or that some of the phases obtained is / are very far from the canonical A, B, C and / or D, or finally, that having tried the combinations mentioned in b), none of them stands out particularly when compared to the original. In any of these cases, the quadrilateral is rejected and no code is considered detected.
[0229] In step or stage 5 of the procedure, it is proposed to successively rotate the image 90 °, calculating the FFT again and repeating the first steps, but it involves an unnecessary waste of time, since the position and phase of the dominant elements in a rotation 90 ° are directly deductible from the original values.
[0231] Frequencies change easily:
[0233] F ( u, v ) ^ F ( - v, u)
[0235] To calculate the phase resulting from this rotation, a correction factor from the inversion of one of the axes of the frequency space must be taken into account. In a continuous domain (in the non-discretized sense), the transform of a rotation is exactly equal to the rotation of the transform, but in the discrete case there is an asymmetry: the first sample coincides with the beginning of the sampling period while the latter is placed a sampling interval before the end. Taking this into account, for a NxN resolution the correction is:
[0237] F ( u, v ) ^ F ( u, v) exp ( i2 nv / N)
[0238] Finally, it is necessary to apply a second correction to the phase, caused by the difference between the sampling intervals of the printed code (which usually has a moderately high SxS resolution to avoid pixelization, eg S = 250) and the input rectified image. (which has a lower resolution, NxN, for example, N = 64, to speed up the decoding process). The correction is:
[0243] Under these conditions, if the previous process is applied directly to the pixel matrix of a continuous code (without contrast amplification), without going through the printing and capturing process with a camera, the calculated phase coincides exactly (except for numerical noise) with the phase set when generating the code. In other words, phase detection does not introduce disturbances other than contrast sensing and amplification.
[0245] The extended procedure requires building several candidate codes to compare with the input image. This can of course be done by the general coding procedure explained above, based on the inverse Fourier transform. However, only a small number of base elements need to be composed, so it is more efficient to pre-compute the waves of the frequency repertoire in an array. In this way, the code generation is simply reduced to the point-to-point sum of the selected elements.
[0247] For the pre-processing of the rectified image, no operation is necessary. The decoding procedure works directly with the rectified monochrome quad. In particular, no pre-filters are applied, neither smoothing nor high-pass, such as those used to remove noise or enhance contrast in traditional matrix coding systems. Also, no white balance, color correction, or histogram equalization process is performed. All the necessary and sufficient information for the decoding of a visual code according to the invention is extracted from the FFT of the original image.
[0249] Thanks to the calculation of the reconstruction error through the synthesis of candidates with pre-computed waves, the computation time of the decoding process is dominated by the essential pre-rectification operations of the candidate quadrangle and the FFT of step 1. In a modern computer the complete analysis of a region can be carried out in a processing time of the order of 1 ms.
[0251] Use scenarios can be considered in which it is previously known that the visual code to be recognized cannot be any one, but is necessarily found in a more limited predetermined (and previously known) subset of codes. For example, it could be known, by the particularities of the production process, that in a plant only a reduced set of, for example, 100 different codes could circulate in a given period of time. If these codes are previously known, the problem of their decoding does not start, like the procedure described above, from absolute ignorance, but rather there is certain a priori information that could be exploited to detect these codes even under lighting conditions and / or extremely challenging picture shooting.
[0253] Under these conditions, the reduced set of possible codes makes it possible to limit the set of candidates generated in the extended procedure and, if desired, more permissive detection thresholds can be established, without the risk of increasing the probability of false positives.
[0255] Below is an example of the implementation of the entire proposed code generation, detection and decoding scheme, specifically on the main plant of a company dedicated to the production and packaging of fresh produce of fruit and vegetable origin. The specific application scenario is the correct location and monitoring in time and space of pallets loaded with products, which are unloaded at the company docks, and monitored from the moment they enter the packaging plant. For this, the boxes with the products are labeled already at the time of their collection in the field, with visual codes such as those described, in a clearly visible place on them.
[0257] This implementation example considers a 4-5: 33-ABCD encoding scheme, with a set of exceptions that allows 1,293,184 codes to be read with great robustness.
[0259] The sensorization system proposed for this example has a variable number of cameras, interconnected to the company's main network using Gigabit Ethernet technology.
[0260] In this particular implementation, cameras with resolutions of up to 3840x2160 pixels and 60 frames per second, and variable zoom optics that allow viewing angles between 37 ° and 109 ° horizontally are used. This is a direct implementation of the scheme already shown previously in Figure 10: from their entry into the warehouse, the boxes 103 with the products coming from the loading docks, already duly labeled 104, are transported by palletizing trucks 102 inside from the packing plant. The cameras 101 mounted in certain key points of the plant continuously monitor the evolution of the trucks, sending the captured images continuously to a central server 106, through a dedicated Intranet 105, whose bandwidth (1 Gbps) allows, in combination with an adequate image compression factor, the simultaneous sending of several video sequences at tens of frames per second from multiple cameras (the cameras used are equipped with their own CPU and memory, to carry out video compression in real time, using Zipstream technology; this technology uses an H264 codec with variable bitrate, which allows a speed in fps and bandwidth controllable from the central server).
[0262] At this point it is important to note that the communication between the cameras and the central server can be done wired (with cables) or wirelessly. In the case of a wired (wired) communication, the connection can be made through serial ports, such as USB, micro USB, mini USB, Firewire or Ethernet (such as the Intranet described above). In the case of wireless communications, the connection can be made using short-range wireless communications modules (cameras and server are close enough), for example, Bluetooth, NFC, Wifi, IEEE 802.11 or Zigbee. If the communications are long-range (the cameras and the server are far apart), the connection can be made using communication modules based on GSM, GPRS, 3G, 4G, 5G technology or satellite technology (for example, if the communication is made through a global communication network, such as the Internet) or even through a communications network for the Internet of Things ( loT - Internet of Things). To secure the communication between the cameras and the server, this communication can be ensured by, for example, username / password, cryptographic keys and / or by means of an SSL tunnel established in the communication.
[0264] Each time a new image arrives at the server 106, it processes it through an implementation of the procedure described in Figures 8 and 9, locating and decoding, where applicable, all visual tags detected in the scene. Its implementation can be carried out, for example, in the Python language, in its version 3.6, making use of the OpenCV (version 3.4) and Numpy (version 1.14) libraries for all the functions related to the image process: thresholding, extraction and contour polygonization, homographic alignment and rectification, and the frequency decoding process described. The interaction with the rest of the applications and databases relevant to the company's production control and traceability system is done through a REST API specifically designed for this, which is supported by the Flask library (version 0.12). Said Python code is executed, in this particular implementation, on a server with an 8-core i7 CPU and 16 GB of RAM. The performance obtained depends on the resolution of the input images, being in the order of (taking a specific example) about 20 milliseconds per frame for an input resolution of 1920x1080, being able to detect several codes (for example, up to 6) per image ( without there being a strict limit in this sense either).
[0266] Finally, the correct viewing and decoding distance depends on both the focal length of the camera (and therefore its field of view) and the image resolution used. The coding scheme chosen in this particular implementation (4-5: 33-ABCD), contains frequencies of up to 4.5 cycles per side, which requires a resolution greater than the Nyquist sampling frequency of 9 samples per cycle. In theory it is more than enough to work with a size safety margin of at least 12x12 pixels excluding the black frame. In practice, the actual angular resolution available depends on many factors: lighting, quality of the optics, blur, etc., so for greater robustness it is recommended to work with markers of approximately 18x18 pixels including the black frame.
[0268] Properly playing with variable zoom optics, and depending on the physical print size of the label, this equates to possible decoding distances of even tens of meters. The following table shows some concrete example scenarios:
[0270] Field of view Resolution Label size Approximate distance
[0272] 37 ° 1980x1080 50 mm 8 m
[0273] 90 ° 1980x1080 200 mm 11 m
[0274] 37 ° 3840x2160 50 mm 15 m
[0275] 37 ° 1980x1080 100 mm 16 m
[0276] 90 ° 3840x2160 200 mm 21 m
[0277] 37 ° 3840x2160 100 mm 31 m
[0279] All the above possibilities actually respond to the following general formula:
[0281] PIX = TC * RH / ( 2000 * D * tan ( AVH / 2))
[0283] where:
[0285] PIX = Resulting size of the visual code in the image (in pixels).
[0286] TC = Size of the printed visual code (in mm).
[0287] RH = Horizontal resolution of the image (in pixels).
[0288] D = Distance from the camera to the label (in meters).
[0289] AVH = Camera horizontal angle of view (in degrees).
[0291] In theory, and restricted to cameras with the optics mentioned above, this also makes it possible to detect and decode codes printed at size, for example, 200 mm wide at distances greater than 60 meters (for the viewing angle corresponding to the largest supported zoom by camera optics, 37 °, and its highest resolution, 3840x2160 pixels). Of course, by mounting telephoto lenses with higher focal lengths (and therefore a lower angle of view), these decoding distances can be further increased. In the specific scenario of the present example, however, in no case is a configuration of such characteristics necessary, opting for smaller sizes in the final implementation, with visual codes printed at 80 mm wide and viewing distances typically less than 10 m, thus allowing the angle of view to be increased to a value of around 80 °, allowing the size of the detection area covered by each camera to be enlarged. At all times, the system shows a good tolerance to different noise sources that translate into different causes of loss of sharpness in the image, such as point blurring, rapid movements in the scene, "salt and pepper" noise in the sensorized image motivated due to low lighting conditions, and even artifacts caused by image compression.
[0293] It is important to note that both the encoding procedure and the decoding procedure described above can each be implemented with a single system. with a fully computerized, fully electronic configuration or through a combination of both.
[0295] In the case that a system is purely computerized (for example, a computer server), the system may comprise a memory and a processor (for example, a microprocessor), in which the memory stores computer program instructions executable by the processor , these instructions comprising functionalities for executing a procedure for decoding or a procedure for encoding a visual code such as those described.
[0297] The memory of this computer system may be within the processor or it may be external. If it is included in the processor itself, it can be, for example, an EEPROM type memory or the like. In the case that it is external, it can be, for example, data storage media such as magnetic discs (for example, hard drives), optical discs (for example, DVD or CD), memory cards, flash memories ( for example, flash drives) or solid state drives (RAM-based, flash-based, etc.). These storage means can be part of the computer system itself and / or can be arranged remotely to it, connected by wire (with cables) or wirelessly. In the case of a wired (wired) communication, the connection can be made through serial ports, such as USB, micro USB, mini USB, Firewire or Ethernet. In the case of wireless communications, the connection can be made using short-range wireless communications modules (the system and the storage media are close enough), for example, Bluetooth, NFC, Wifi, IEEE 802.11 or Zigbee. If the communications are long-range (the system and the storage media are far apart), the connection can be made using communication modules based on GSM, GPRS, 3G, 4G, 5G technology or satellite technology (for example, if the communication it is carried out through a global communication network, such as the Internet) or even through a communications network for the Internet of Things ( loT -In te rneto f Things). In the latter case of a system with remote storage means, the communication established between the system and the storage means can be ensured by, for example, username / password, cryptographic keys and / or by means of an SSL tunnel established in communication between the system and the storage media.
[0298] Therefore, the set of computer program instructions (a computer program) executable by the processor can be stored in physical storage media, such as those mentioned, but can also be carried by a carrier wave (the carrier medium can be any entity or device capable of carrying the program), such as electrical or optical, which can be transmitted via electrical or optical cable or by radio or other means. Thus, when the computer program is contained in a signal that can be transmitted directly by means of a cable or other device or medium, the carrier medium can be constituted by said cable or other device or medium.
[0300] Alternatively, the carrier medium may be an integrated circuit in which the computer program is embedded , said integrated circuit being adapted to perform or to be used in performing the relevant procedures.
[0302] The computer program may be in the form of source code, object code, or in a code intermediate between source code and object code, such as partially compiled form, or in any other form suitable for use in implementing the described procedures.
[0304] On the other hand, at least one of the systems (the one that executes the encoding procedure and / or the one that executes the decoding procedure) can have a purely electronic configuration, so it could be formed by a programmable electronic device such as a CPLD ( Complex Programmable Logic Device), an FPGA ( Field Programmable Gate Array) or an ASIC ( Application-Specific Integrated Circuit).
[0306] Finally, at least one of the systems can also have a hybrid configuration between computing and electronics. In this case, the system must comprise a memory and a processor to computerically implement a part of its functionalities, as well as certain electronic circuits to implement the rest of the functionalities.
[0308] Although only some particular embodiments and examples of the invention have been described herein, the skilled person will understand that other alternative embodiments and / or uses of the invention are possible, as well as obvious modifications and equivalent elements. Furthermore, the present invention encompasses all possible combinations of the specific embodiments that have been described. The numerical signs relative to the drawings and placed in parentheses in a claim are only to attempt to increase the understanding of the claim, and should not be construed as limiting the scope of protection of the claim. The scope of the present invention should not be limited to specific embodiments, but should be determined solely by a proper reading of the appended claims.
权利要求:
Claims (43)
[1]
1. Visual code comprising a two-dimensional image, characterized in that the two-dimensional image is the result of applying a predetermined mathematical operation on a number c of two-dimensional waves determined by at least two parameters, namely, a first spatial frequency u in a first direction and a second spatial frequency v in a second direction different from the first.
[2]
Visual code according to claim 1, characterized in that the two-dimensional waves are two-dimensional sinusoids.
[3]
Visual code according to claim 1 or 2, characterized in that the mathematical operation on the two-dimensional c waves is an addition.
[4]
Visual code according to any of the preceding claims, characterized in that each two-dimensional wave is determined by at least three parameters, namely, the said first and second frequencies and also an angular phase.
[5]
Visual code according to claim 4, characterized in that each two-dimensional wave is determined by at least four parameters, namely the said first and second frequencies, the angular phase and furthermore an amplitude.
[6]
Visual code according to any of the preceding claims, characterized in that the first and second directions are orthogonal.
[7]
Visual code according to any of the preceding claims, characterized in that the value of each angular frequency u, v is an integer.
[8]
Visual code according to any of the preceding claims, characterized in that it comprises a frame for the two-dimensional image, said frame being of a predetermined color and thickness.
[9]
9. Identification tag, characterized by comprising a visual code according to claim 8.
[10]
10. Procedure for decoding a visual code reproduced on an identification tag, characterized by comprising the steps of:
capturing a flat image of the label by an optical sensor;
calculate the Discrete Fourier Transform (DFT) of this flat image;
extracting from this DFT c dominant frequency components, both for a first spatial frequency u ' and for a second spatial frequency v';
seek an identification between these c dominant components of first spatial frequency u ' and second spatial frequency v' with c two-dimensional waves from a predetermined collection of two-dimensional waves, each of which is determined by at least two parameters, namely a first spatial frequency u in a first direction and a second spatial frequency v in a second direction different from the first.
[11]
11. Method according to claim 10, characterized by comprising the step of obtaining the phases of the c dominant frequency components from the DFT.
[12]
12. Method according to claim 11, characterized by comprising the step of ordering the c components of frequencies u ' and v' extracted by decreasing order of magnitude, and of assigning them an ordinal number between 1 and c, the ordering magnitude being a scalar frequency w ' defined by the equation w' 2 = ( u '2 v' 2).
[13]
13. Method according to claim 12, characterized by comprising the step of extracting other k components c + 1, .... c + k of corresponding frequencies u ' and v' , with k> 1, as long as at least one of these frequencies of the c + 1 component are of non-zero magnitude.
[14]
Method according to claim 13, characterized in that it comprises the step of accepting the visual code as well decoded as long as there is a difference of magnitude greater than a predetermined amount between the frequency components c and c + 1.
[15]
15. Method according to any of claims 12 to 14, characterized by comprising the step of considering the visual code as well decoded as long as the maximum difference between the phases of the c frequency components and the phases of a predetermined repertoire of possible phases is less than a predetermined amount.
[16]
16. Method according to claim 13, characterized by comprising the step of considering the visual code as not decoded if there is a difference of magnitude less than a predetermined amount between the frequency components c and c + 1.
[17]
17. Method according to claim 12 or 16, characterized by comprising the step of considering the visual code as not decoded if the maximum difference between the phases of the c frequency components and the phases of a predetermined repertoire of possible phases is greater than one predetermined amount.
[18]
18. Method according to claim 13, characterized by comprising the steps of: generating various combinations of c frequency components among the c + k components extracted;
order by decreasing order of magnitude each one of the c components of frequencies u ' and v' extracted;
assign each of these c frequency components an ordinal number between 1 and c.
[19]
19. Method according to claim 18, characterized by comprising the step of accepting the visual code as well decoded as long as at least one of the combinations of c frequency components among the c + k components extracted corresponds to a visual code that differs of the input image by a magnitude less than a predetermined amount.
[20]
20. Method according to claim 18, characterized by comprising the step of considering the visual code as not decoded if none of the combinations of c frequency components among the c + k components extracted corresponds to a visual code that differs from the image of input in a magnitude less than a predetermined quantity.
[21]
21. Method according to any of claims 10 to 20, characterized in that the DFT is calculated by means of a Fast Fourier Transform (FFT).
[22]
22. Procedure to encode a two-dimensional image, characterized by comprising the steps of:
predefine a collection of two-dimensional waves as potential components of the two-dimensional image, each of these two-dimensional waves being determined by al minus two parameters, namely, a first spatial frequency u in a first direction and a second spatial frequency v in a second direction different from the first; predetermining a natural number c of said two-dimensional waves to compose the two-dimensional image;
selecting a number c of two-dimensional waves from among all those in the collection; composing the two - dimensional image by applying a predetermined mathematical operation on the selected two - dimensional waves c;
forming a visual code by framing the two-dimensional image with a band of a predetermined color whose outline is a predetermined closed flat curve;
reproduce the visual code on a label.
[23]
23. Method according to claim 22, characterized in that the two-dimensional waves are two-dimensional sinusoids.
[24]
24. Method according to claim 22 or 23, characterized in that the mathematical operation on the selected two-dimensional c waves is an addition.
[25]
25. Method according to any of claims 22 to 24, characterized in that each two-dimensional wave is determined by at least three parameters, namely, the said first and second frequencies and also an angular phase, said phase being a real number .
[26]
26. Method according to claim 25, characterized in that the phases are selected from a finite repertoire.
[27]
27. Method according to any one of claims 22 to 26, characterized in that each two-dimensional wave is determined by at least three parameters, namely the said first and second frequencies and also an amplitude, the amplitude being a real number.
[28]
28. Method according to any of claims 22 to 27, characterized in that the first and second frequencies are integers and the first and second directions are orthogonal.
[29]
29. Method according to any one of claims 22 to 28, characterized in that the spatial frequencies are selected from a finite repertoire.
[30]
30. Method according to claims 26 and 29, characterized in that the collection of two-dimensional waves is finite.
[31]
31. Method according to claim 30, characterized by the fact of comprising the step of ordering the two-dimensional waves of the collection by increasing order of magnitude of a scalar frequency w of each two-dimensional spatial wave, said scalar frequency w being defined by the equation w 2 = ( u 2 v 2) .
[32]
32. The method according to claim 31, characterized in that it comprises the step of assigning an ordinal number to each two-dimensional wave of the collection, according to the previous ordering.
[33]
33. Method according to any one of claims 30 to 32, characterized in that it comprises the step of assigning an ordinal number to each possible two-dimensional spatial wave according to an enumeration criterion.
[34]
34. Method according to claim 33, characterized in that the enumeration criterion follows an order of increasing scalar frequency.
[35]
35. Method according to claim 34, characterized in that for each scalar frequency all the angular phases are traversed.
[36]
36. Method according to claim 33, characterized in that the enumeration criterion follows an order of increasing angular phase.
[37]
37. Method according to claim 36, characterized in that all scalar frequencies are traversed for each angular phase.
[38]
38. Method according to any of claims 22 to 37, characterized in that it comprises the step of increasing the contrast of the two-dimensional image resulting from the predetermined mathematical operation on the c selected two-dimensional space waves.
[39]
39. Method according to claim 38, characterized by the fact of comprising the step of increasing the contrast of the two-dimensional image resulting from the mathematical operation on the c selected two-dimensional space waves, until producing a two-dimensional image saturated in black and white.
[40]
40. Method according to claims 30 and 39, characterized by the fact of comprising the step of analyzing all possible two-dimensional images in black and white format, and the step of marking as undesirable all these two-dimensional images whose frequency configurations have predefined harmonics such as unwanted.
[41]
41. Method according to any of claims 22 to 40, characterized in that the step of printing the visual code on a label comprises the sub-step of printing a black frame that follows the shape of the closed flat curve.
[42]
42. Method according to claim 41, characterized in that the closed planar curve is a rectangle or a square.
[43]
43. Method according to any one of claims 22 to 42, characterized in that the number c of potentially component waves of the two-dimensional image is one of {3, 4, 5, 6}.
类似技术:
公开号 | 公开日 | 专利标题
RU2078375C1|1997-04-27|Scanning device which optically decodes label, and label which should be read by such device
ES2823232T3|2021-05-06|Marker generation system and method
EP1791076B1|2013-05-29|Two-dimensional code and method and apparatus for detecting two-dimensional code
US9892301B1|2018-02-13|Localization of machine-readable indicia in digital capture systems
JP2007317184A|2007-12-06|Two-dimensional bar code, and encoding and decoding method thereof
KR100578182B1|2006-05-11|Apparatus and method for post-processing hologram data reproduced from medium in holographic system
KR102235215B1|2021-04-05|Augmenting barcodes with secondary encoding for anti-counterfeiting
US9940535B1|2018-04-10|Imaging-based sensor calibration
US11151346B2|2021-10-19|Methods and apparatus for decoding under-resolved symbols
CN101978380A|2011-02-16|Two-dimensional symbol and method for reading same
CN105046184A|2015-11-11|Distortion image correction based two-dimensional code decoding method and system
US20140270362A1|2014-09-18|Fast edge-based object relocalization and detection using contextual filtering
US20140209685A1|2014-07-31|Covert bar code pattern design and decoding
CN105046183A|2015-11-11|Decoding method and system for distorted QR | code
US8910871B1|2014-12-16|Barcode reader that reads electronically displayed barcodes differently than physically printed barcodes
BR112013011946B1|2020-12-29|METHOD FOR IDENTIFYING A BIDIMENSIONAL BAR CODE IN DIGITAL BAR CODE IMAGE DATA, CONFIGURED APPARATUS TO IDENTIFY A BIDIMENSIONAL BAR CODE IN DIGITAL BAR CODE DIGITAL DATA AND MEDIA LEGIBLE BY NON-TRANSITIONAL COMPUTER
US8919649B2|2014-12-30|Method for the detection of a marker affixed to the surface of an object and system for implementing same
ES2817926B2|2021-11-12|VISUAL CODE AND PROCEDURE TO ENCODE AND DECODE A TWO-DIMENSIONAL IMAGE
US10198647B2|2019-02-05|Compact imaging module with range finder
ES2817652B2|2021-10-19|VISUAL CODE, PROCEDURE TO GENERATE A VISUAL CODE AND PROCEDURE TO DECODE A VISUAL CODE
CN110050275A|2019-07-23|Optical readable label and method and system for decoding optical readable label
ES2616146B2|2018-04-27|METHOD OF DETECTION AND RECOGNITION OF LONG REACH AND HIGH DENSITY VISUAL MARKERS
CA3092189A1|2019-10-17|Method and system for optical product authentication
CN105046256A|2015-11-11|Distortion image correction based QR | code decoding method and system
US9268986B2|2016-02-23|Security feature
同族专利:
公开号 | 公开日
ES2817926B2|2021-11-12|
WO2021064273A1|2021-04-08|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
US5726435A|1994-03-14|1998-03-10|Nippondenso Co., Ltd.|Optically readable two-dimensional code and method and apparatus using the same|
US6267296B1|1998-05-12|2001-07-31|Denso Corporation|Two-dimensional code and method of optically reading the same|
US20080182561A1|2007-01-30|2008-07-31|Sang Hun Kim|System for transmitting media contents to mobile terminal having two-dimensional code reader and method thereof|
US2612994A|1949-10-20|1952-10-07|Norman J Woodland|Classifying apparatus and method|
JP6406758B2|2015-03-06|2018-10-17|国立大学法人 鹿児島大学|Imaging apparatus, digital watermark extraction method, digital watermark and coding aperture optimization method|
CN108790469B|2017-04-27|2020-06-30|中钞特种防伪科技有限公司|Optical anti-counterfeiting element and anti-counterfeiting product|
CN109981917B|2019-01-25|2021-04-06|佛山市顺德区中山大学研究院|Two-dimensional code image optical encryption method and system, device and storage medium thereof|
法律状态:
2021-04-08| BA2A| Patent application published|Ref document number: 2817926 Country of ref document: ES Kind code of ref document: A1 Effective date: 20210408 |
2021-11-12| FG2A| Definitive protection|Ref document number: 2817926 Country of ref document: ES Kind code of ref document: B2 Effective date: 20211112 |
优先权:
申请号 | 申请日 | 专利标题
ES201930861A|ES2817926B2|2019-10-04|2019-10-04|VISUAL CODE AND PROCEDURE TO ENCODE AND DECODE A TWO-DIMENSIONAL IMAGE|ES201930861A| ES2817926B2|2019-10-04|2019-10-04|VISUAL CODE AND PROCEDURE TO ENCODE AND DECODE A TWO-DIMENSIONAL IMAGE|
PCT/ES2020/070599| WO2021064273A1|2019-10-04|2020-10-02|Visual code and method for encoding and decoding a two-dimensional image|
[返回顶部]